This folder contains the first set of patches for Macintosh Common Lisp 2.0b1, released on April 2, 1991. Future patches will be released from time to time. If you have access to the Internet or to AppleLink, you can download patches as soon as they are released. If you would like to subscribe to the Internet discussion group for MCL 2.0 (where patches will be announced and described), send electronic mail to:
Info-MCL-Request@cambridge.apple.com.
Please see the Release Notes that were shipped with MCL 2.0b1 for more details on electronic discussion groups.
The current patch release contains the following items:
ff.fasl
This file replaces the ff.fasl file in your "Library" folder.
MCL 2.0b1 Source Patches
This folder contains patches to code shipped with MCL 2.0b1 in source form.
patches 2.0b1
This folder contains two patch (.fasl) files.
MCL 2.0b1p1&2 Release Notes
The file you are reading now.
To apply the .fasl patches:
- Copy the "patches 2.0b1" folder into the MCL 2.0b1 folder on your hard disk
(note: you must copy the folder, not just its contents)
- Start up MCL 2.0b1
- Load (under the Eval menu) the file "MCL 2.0b1p1.fasl" in the "patches 2.0b1" folder
The cursor on your Macintosh should now change to a clock as MCL 2.0b1 writes out a new application file called MCL 2.0b1p2. This single file replaces both the MCL 2.0b1 application and the MCL 2.0b1.image file - both of these files may be discarded.
Each of the files contained in the "Source Patches" folder contains instructions for updating one source code file. Each of these patch files contains one or a few Lisp forms. To apply the patches, find the corresponding form in the original MCL 2.0b1 file (usually a file in the "Examples" or "Library" folder) and replace the old code with the new.
The file "Library;Lispequ.lisp" contained a redefinition of %CONS-RESTART which would cause the following error when that file was loaded:
;Warning: FUNCTION %CONS-RESTART previously defined in: {Not Recorded}
; is now being redefined in: CCL;Library:lispequ.lisp
;
; While executing: RECORD-SOURCE-FILE
> Error: The function %CONS-RESTART is already defined in the CCL kernel.
> While executing: REDEFINE-KERNEL-FUNCTION
> Type Command-/ to continue, Command-. to abort.
> If continued: Replace the definition of %CONS-RESTART.
See the Restarts… menu item for further choices.
1 >
To fix this problem:
- Type Command-/ to continue from the error,
- Edit the Lispequ.lisp file, removing the definition of %CONS-RESTART,
- Compile the Lispequ file.
Here (in no particular order) are some of the problems fixed in Patches 1 and 2:
Checking the type of a generic function when it was swapped out could return an incorrect value. This could cause Lisp to crash when stepping through code.
*IDLE* was not correctly bound when calling event-dispatch from toplevel-read.
The fred-dialog-item redrawing code crashed when called with an frec that was not installed in a window.
Set-view-size was not invalidating everything that it needed to for a table dialog item.
Lisp was unable to export a scrap longer than 32000 chars.
There was a problem installing the 8*24 GC card init in system 7.
There was a bug in _GetAuxCtl trap in system 7.
If the :end2 parameter to STRING= was out of bounds, Lisp would signal an error with a pointer into the middle of the string. This crashed in some environments.
Patch (modifies view-contains-point-p) to ignore invisible views in window-update-cursor. Bug was displayed by the example at the end of "library;scrolling-fred-dialog-item.lisp"
There was a problem with dynamic extent rest when there were keyword args and no required args.
There was a problem with arglist-string.
Set-visible-dimensions called set-view-size without the view argument.
The new color grow icons will now appear. Erase scroll bars on deselected windows.
There was some unnecessary blinking when setting both size & position of a control-dialog-item.
Buffer-bwd-sexp did the wrong thing when at the end of a #|xxx|#.
Patch to make MCL bring itself to the front when it gets an open-documents AppleEvent.
Option-clicking in the title bar of a window now sends it to the back whether or not it's currently in the front.